#include "Disco.h"

Disco::Disco(unsigned int cantRayos, unsigned int radio)
	{
	this->cantidadRayos = cantRayos;
	this->piezaDisco = new PiezaDisco(360 / this->cantidadRayos,radio);
	}

Disco::~Disco()
	{
	delete this->piezaDisco;
	}

unsigned int Disco::getCantidadRayos() const
	{
	return this->cantidadRayos;
	}

GLfloat Disco::getRadioDisco() const
	{
	return this->piezaDisco->largo;
	}

void Disco::dibujar(int tiempoDurEscena)
	{
	
	glPushMatrix();

	// nAngle: indica el angulo de giro que se va produciendo para armar los rayos del disco.
	GLfloat nAngle = 360.0 / this->cantidadRayos;
	GLfloat angle = 0;
	// Dibujo rayos del disco.
	while(angle < 360){
		glPushMatrix();
		glRotatef(angle, 0.0, 0.0, 1.0);
		this->piezaDisco->dibujar(tiempoDurEscena);
		glPopMatrix();
		angle += nAngle;
	}
	glPopMatrix();
	}